package com.gdteam.kernel.event;

import java.util.Collection;

import com.gdteam.kernel.Operations;
import com.gdteam.kernel.Service;
/**
 * <p>Event Manager bundled into MicroKernel is developped to 
 * handlde system / application events (first one deals with PSD plug /unplug detection) </br>
 * Technical feature requirements are :
 * <ul>
 *  <li>Event declaration (see Event interface) </li>
 *  <li>Event Fire operation (see OnEvent and FireEvent annotations declaration) </li>
 * </ul>
 * @author erwan
 *
 */
public interface EventManager extends Service {

    String FQN = "com.gdteam.microkernel.eventmgr";
    
    Collection<Operations> getListeners();
    
    void broadcast(Event e);
    
    int getBroadcastEventCount();
    
}
